Kodovani Cipher

Otázka od: Viktor Marek

4. 12. 2002 9:32

Zdravim

Pro kodovani stringu pouzivam komponentu Cipher. Pri urcite kombinaci poctu
znaku kodovaneho retezce a poctu znaku "hesla" se stává, ze dekodovani sice
probehne, ale dekodovany retezec neni totozny s retezcem vstupujicim do
kodovani.
Bohuzel se mi nepovedlo vysledovat kde je zakopany pes

Poradi nekdo kde by mohla byt chyba?

Viktor Marek
viktor@mbox.vol.cz

with TCipher_Blowfish.Create ('123456', nil) do
    try
     FStringFormat := 1;
     zakodovat:= CodeString('xxxxxx', paEncode, FStringFormat);
    finally
  Free;
 end;

with TCipher_Blowfish.Create('123456', nil) do
       try
         FStringFormat := 1;
         odkodovat:= CodeString(zakodovat, paDecode, FStringFormat);
       finally
     Free;
   end;


---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.426 / Virová báze: 239 - datum vydání: 2.12.2002

Odpovedá: Petr Zahradnik

4. 12. 2002 11:22

Puvodni zprava, kterou napsal Viktor Marek dne 4 Dec 2002:

> Pro kodovani stringu pouzivam komponentu Cipher. Pri urcite kombinaci
> poctu znaku kodovaneho retezce a poctu znaku "hesla" se stává, ze
> dekodovani sice probehne, ale dekodovany retezec neni totozny s retezcem
> vstupujicim do kodovani. Bohuzel se mi nepovedlo vysledovat kde je
> zakopany pes

To neni kodovani, ale sifrovani. Kazda blokova sifra ma urcitou delku
bloku, napr. 64 bitu = 8 znaku. Pri sifrovani se pouzivaji ruzne
sifrovaci rezimy, napr. ECB, CBC, CFB apod. Lisi se tim, jakym zpusobem
do blokove sifry vstupuji data a jakym zpusobem se sifruji. Napriklad
blok po bloku, po bytech, po bitech, se zpetnou vazbou apod.

Logicky kdyz pouzijes blokovy rezim, tj. ECB (Electronic Code Book), tak
dostanes spatny vysledek, pokud vstup neni delitelny velikosti bloku,
tedy v pripade 64 bitoveho bloku pokud nemas vstup delitelny 8 znaky.
Nastav si tam treba rezim CBC nebo CFB. Ono pouzivat ECB stejne neni
vhodne, protoze tam neni zadna zpetna vazba, takze stejne bloky jsou
sifrovany vzdy stejne...

S pozdravem
                      Petr Zahradnik, pocitacovy expert

=======================================================
Petr Zahradnik, Computer Laboratory
Obvodova 740/14, P.O. Box 15, 400 07 Usti nad Labem
Telefony: 475 500 610, 475 501 627, 475 511 337
Mobilni telefon: 602 409 601, Fax: 475 511 338
WWW: http://www.clexpert.cz, http://www.zahradnik.cz
E-Mail: clexpert@clexpert.cz, petr@zahradnik.cz
ICQ: 21215917, MSN: clexpert@clexpert.cz
=======================================================

Odpovedá: Petr Fejfar

9. 12. 2002 16:59

From: "Petr Zahradnik" <clexpert@clexpert.cz>


> Nastav si tam treba rezim CBC nebo CFB.

Nejspis jsi chtel napsat: "OFB nebo CFB",
protoze CBC pracuje taky blokove...


pf